當 program size > physical memory size, 為了讓程式能執行, 有以下兩種解決方法:
定義
會在disk挪出一塊空間作為swap space(virtual memory),允許swap in / out(2-9有提到過),要執行的程式才會載入Memory
執行方式- 需求分頁 Demand Paging
概念像上一章講的分頁式記憶體,不同的地方在於page table多一個欄位V/I bit標示Valid/Invalid,表示這個frame有沒有在memory,當對應到I(Invalid),就表示這一頁是存在disk中,這種情況又稱為page fault
Page fault處理
Virtual Memory效能評估
公式如下
(1 - P) x ma + P x PFPT
* P: page fault ratio(發生page fault機率)
* ma: memory access time
* PFPT: page fault processing time
解釋一下上面公式在幹嘛
(1 - P) x ma表示我沒有發生 page fault 情況下我記憶體存取的時間
P x PFPT表示如果發生page fault我需要花的時間
其中因為PFPT有牽涉到disk,因此其時間必定會比ma長
影響Page fault發生因素
分類會依照第一篇介紹的分類架構來進行
由於是將學習過程記錄下來,如果有任何錯誤歡迎糾正
以下參考連結在學習過程中覺得非常有幫助:
-Chapter3-作業系統-虛擬記憶體
-作業系統祕笈(張逸)